NT版UNIX-like toolsのxeqで、コマンドの実行が終了していないのにプロンプトが表示される問題を解消しました。
詳細はNT版UNIX-like toolsのxeqで、コマンドの実行が終了していないのにプロンプトが表示される問題で説明しています。
以下のVersion 0.11で修正されています。
原因 §
DOSとNTカーネル(か、あるいはCライブラリ実装)での子プロセスの起動の挙動の違いでした。
DOS上のspawnのP_OVERLAYで子プロセスを起動した場合、子プロセスが終了するまでコマンドプロンプトに戻りません。しかし、NTカーネルでは親プロセスが即座に終了した時点でコマンドプロンプトに戻りますが、子プロセスは処理を継続します。
そこで、子プロセスが終了するまで、親プロセスの終了を待ち、ついでにプロセスの終了値も親プロセスがバイパスするようにしました。